package model.lendables;

import java.io.File;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

/**
 * IteratorBiblioteca iterador sobre um HashMap<File, Lendable>
 * @author DCO37
 * 	N.º 42484 Helder Ferreira
 *  N.º 45509 Luis Ferreira
 */
class IteratorBiblioteca implements Iterator<Library>{ 

	private Map<File, Lendable>  lib;
	
	private Lendable item;
	
	/**
	 * Construtor IteratorBiblioteca
	 * @param biblioteca HashMap<File, Lendable>
	 */
	public IteratorBiblioteca( HashMap<File, Lendable> biblioteca ){
		this.lib = biblioteca;
	}
	
	/**
	 * Verifica se existe um proximo item na Library
	 */
	@Override
	public boolean hasNext() {
		if( lib.get(item.getFile()) != null ) {
			return true;
		}else{
		return false;
		}
	}

	/**
	 * Devolve o proximo item da Library
	 */
	@Override
	public Library next() {
		if(hasNext()){
			lib.get(item);
		}
		// passar ao proximo
		return (Library) lib;
	}

	/**
	 * Remove item da Library
	 */
	@Override
	public void remove() {
		throw new UnsupportedOperationException();
// NAO IMPLEMENTADO!!!!!!!!
	}

}
